package com.bank.dao;

import com.bank.javabean.Account;

import java.util.ArrayList;

/**
 * @Auther: Liu
 */
public interface AccountDao {
    /**
     * 添加数据方法
     *
     * @param account 添加的账号信息
     * @return 添加的条数
     */
    int insertAccount(Account account);

    /**
     * 根据账号密码查询数据
     *
     * @param username 查询的账号
     * @param password 查询的密码
     * @return 返回结果集
     */
    ArrayList<Account> selectByUsernameAndPassword(String username, String password);

    /**
     * 根据id删除数据方法
     *
     * @param id 删除数据的主键id
     * @return 删除的条数
     */
    int deleteById(int id);

    /**
     * 根据id修改密码
     *
     * @param id       修改数据的id
     * @param password 修改后的密码
     * @return 修改的条数
     */
    int updatePasswordById(int id, String password);

    /**
     * 根据用户名查询数据
     */
    ArrayList<Account> selectByUsername(String username);

    /**
     * 根据账号类型查询数据
     */
    ArrayList<Account> selectByType(int type);

    /**
     * 根据id查询数据
     */
    ArrayList<Account> selectById(int id);

    /**
     * 为指定账号 余额添加指定金额
     */
    int updateAddMoney(String username, double money);

    /**
     * 为指定账号 余额减少指定金额
     */
    int updateSubMoney(String username, double money);


    /**
     * 为指定账号 余额减少指定金额
     */
    void updateMoneyToUsername(String uname, String tname, double money);

}
